package com.woniuxy.email.listener;

import com.rabbitmq.client.Channel;
import lombok.extern.slf4j.Slf4j;
import org.springframework.amqp.core.Message;
import org.springframework.amqp.core.MessageProperties;
import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.stereotype.Component;

import java.io.IOException;

/**
 * @author yellow Docter
 * @date 2024-10-24
 * @desc 蜗牛创想：www.woniuxy.com
 */
@Component
@Slf4j
public class NormalListener {


    /**
     *
     * @param text        消息数据
     * @param channel     连接通道 (如果jdbc Connection 的连接对象 )
     * @param message     消息对象
     */
//    @RabbitListener(queues = "normal.queue")
//    public  void handler(String text, Channel channel, Message message) throws IOException {
//        MessageProperties properties = message.getMessageProperties();
//        long deliveryTag = properties.getDeliveryTag();
//        System.out.println(" 消息拒绝 返回队列中 ....");
//        //消息拒绝  重新放到队列 中   (这个消息 会进入到 死信中)
//        /**
//         *   true   返回队列中 重新投递到 消费进行消费 一直循环
//         *   false  消息丢弃
//         *           如果有 配置死信队列 会进入死信队列中
//         */
//        channel.basicReject(deliveryTag, false);
//        /**
//         *  channel.basicAck();     消费消息  手动确认  消息删除
//         *  channel.basicReject()   消息拒绝  (false 丢弃) (true 返回给队列 进入到死信作用)
//         *  channel.basicNack(deliveryTag, false, true);
//         *       消息重新投递到 队列中  true 进行标记
//         */
//    }
}
